/*
 * @lc app=leetcode.cn id=349 lang=typescript
 *
 * [349] 两个数组的交集
 */

// @lc code=start

// filter + hash 表法
function intersection(nums1: number[], nums2: number[]): number[] {
    let cache = new Set<number>();
    return nums1.filter((i) => {
        if (cache.has(i)) return false;
        if (nums2.includes(i)) {
            cache.add(i);
            return true;
        } else {
            return false;
        }
    });
}

// @lc code=end
